package tool;

import java.util.HashMap;

public class TypeFilter {

	public final static String typeid[] = { "1101", "1102", "1103", "1104",
			"1105", "1106", "1107", "1108", "1109", "1110", "1111", "1112",
			"1113", "1201", "1202", "1203", "1204", "1205", "1206", "1301",
			"2101", "2102", "2103", "2104", "2105", "2106", "2107", "2108",
			"2109", "2110", "2111", "2201", "2202", "2203", "2204", "2205",
			"3101", "3102", "3103", "3104", "3201", "3202", "3203", "3204",
			"3205", "3301", "3302", "3303", "3304", "3305", "4101", "4102",
			"4103", "4104", "4105", "4106", "4107", "4201", "4202", "4203",
			"4204", "4205", "4206", "4207", "4208", "4209", "4210", "4301",
			"4302", "4303", "4304", "4305", "4306", "4307", "4308", "4309",
			"4401", "4402", "4403", "4404", "4405", "4406", "4407", "4408",
			"4409", "4410", "5101", "5102", "5103", "5104", "5105", "5106",
			"5107", "5108", "5109", "5110", "5111", "5112", "5113", "5201",
			"5301", "5302", "5303", "5304", "5305", "5306", "5401", "5402",
			"5403", "5404", "5405", "5406", "5407", "5408", "5409", "5410",
			"5411", "5501", "5502", "5503", "5504", "6101", "6102", "6103",
			"6201", "6202", "6301", "6302", "6303", "6304", "6305", "6306",
			"6307", "6308", "6309", "6310", "6311", "6401", "6402", "6403",
			"6404", "6405" };

	public final static String unitid[] = { "區民政課", "都市發展局", "新工處", "捷運局",
			"建管處", "新工處", "新工處", "新工處", "建管處", "新工處", "大安區經建課", "新工處",
			"大安區經建課", "區民政課", "水利處", "新工處", "大安區經建課", "新工處", "大安區經建課", "水利處",
			"公園處", "大安區經建課", "公園處", "大安區經建課", "捷運公司", "捷運公司", "水利處", "水利處",
			"水利處", "衛工處", "衛工處", "大地工程處", "公園處", "大地工程處", "公園處", "捷運公司", "環保局",
			"環保局", "環保局", "環保局", "大地工程處", "環保局", "公園處", "新工處", "環保局", "環保局",
			"環保局", "衛工處", "大地工程處", "環保局", "警察局", "公共運輸處", "警察局", "新工處", "公園處",
			"環保局", "交工處", "公園處", "環保局", "新工處", "大地工程處", "教育局", "文化局", "都市發展局",
			"捷運公司", "大安區經建課", "交工處", "環保局", "環保局", "交工處", "公園處", "新工處", "環保局",
			"環保局", "公共運輸處", "停管處", "監理處", "停管處", "建管處", "建管處", "建管處", "建管處",
			"建管處", "公園處", "新工處", "新工處", "停管處", "停管處", "公共運輸處", "停管處", "交工處",
			"交工處", "交工處", "交工處", "交工處", "交工處", "交工處", "交工處", "捷運局", "交工處",
			"新工處", "交工處", "戶政事務所", "交工處", "新工處", "新工處", "公園處", "自來水處各營業分處",
			"台灣電力公司", "大安區經建課", "台灣電力公司", "新工處", "台灣電力公司", "交工處", "中華電信",
			"水利處", "衛工處", "中華電信", "大台北、欣湖、陽明山、欣欣等瓦斯公司", "消防局", "消防局", "警察局",
			"警察局", "警察局", "產業發展局", "大安區經建課", "警察局", "文化局", "安源公司", "安源公司",
			"安源公司", "文化局", "環保局", "觀光傳播局", "水利處", "市場處", "警察局", "環保局", "新工處",
			"警察局", "捷運公司", "都市發展局" };

	final static String type2str[] = { "地下道照明設備損壞修復廢棄物清理及稽查", "道路中心樁損壞維護",
			"人行道(含樹穴緣石)損壞修復", "捷運施工致路面、水溝等損壞修復", "建築執照工程施工致路面、側溝等損壞修復",
			"道路新建工程施工致路面、水溝等損壞修復", "道路挖掘未修復及修復未完善", "橋梁損壞修復",
			"建築執照工程工地材料、機具佔用路面", "超過八米之市區道路坑洞處理", "八米以下(含八米)市區道路坑洞處理",
			"山區鄰里道路－八公尺以上路面、溝蓋之損壞修復", "山區鄰里道路－八公尺以下路面、溝蓋之損壞修復",
			"污水下水道設施之維護施工致路面、側溝等損壞修復", "雨水下水道幹支線之維護及損壞修復", "超過八米之道路側溝溝蓋損壞",
			"八米以下之道路側溝溝蓋損壞", "山區鄰里道路－八公尺以上路面、溝蓋之損壞修復",
			"山區鄰里道路－八公尺以下路面、溝蓋之損壞修復", "堤防、水防道路之維護及損壞修復",
			"一公頃以上公園、綠地、廣場及ㄧ公頃以下綠地及廣場環境髒亂", "一公頃以下公園環境髒亂",
			"一公頃以上公園、綠地、廣場及ㄧ公頃以下綠地及廣場土木、育樂設施損壞修復", "一公頃以下公園育樂設施損壞",
			"捷運線形公園環境髒亂、綠地、行道樹之維護、修剪及扶正", "捷運線形公園育樂設施損壞修復", "河川區域環境整理及維護",
			"河濱自行車道損壞修復", "河川區域園區道路及水防道路(不含河濱自行車道)之維護及損壞修復",
			"迪化污水處理廠附設休閒運動公園環境整理及維護", "迪化污水處理廠附設休閒運動公園育樂設施損壞修復",
			"列管登山步道二旁樹木修剪及割草", "私人土地樹木影響道路公共安全修剪", "產業道路二旁樹木修剪維護",
			"安全島、綠地、行道樹之維護、修剪及扶正", "捷運線形公園環境髒亂、綠地、行道樹之維護、修剪及扶正", "山坡地廢棄土石稽查",
			"公廁清理維護之稽查", "無主大型廢棄物清理", "廢棄物清理及稽查", "列管登山步道清潔維護",
			"市區道路(含樹穴)之廢棄物、廢土清除", "路燈桿穴、行道樹穴之雜草清除", "人行道上之鋪面縫隙雜草維護",
			"山區道路橫斷面範圍內之一般廢棄物清理", "水溝清理", "水溝消毒", "污水下水道之清理維護", "列管之產業道路水溝清理",
			"山區道路成型溝構造體之水溝清理", "遊動廣告物違規停放之取締", "公車站牌及候車亭廣告物", "道路範圍內之其他廣告物",
			"天橋、地下道、安全島及槽化島廣告物", "行道樹、綠地、公園、圓環及廣場廣告物",
			"違規張貼廣告、懸掛布條、放置（地面）看板之清除事項", "交通標(號)誌桿、設備廣告物",
			"違規旗幟-圓環、公園、綠帶或分隔島上", "違規旗幟-八公尺以下巷道", "違規旗幟-人行陸橋、跨河橋梁上",
			"違規旗幟-山坡地範圍內", "違規旗幟-社教及學校範圍內", "違規旗幟-公有古蹟範圍內", "違規旗幟-國宅社區內",
			"違規旗幟-捷運系統內", "違規旗幟-鄰里公園(一公頃以下)", "違規旗幟-交通號誌燈桿", "張貼廣告-建築物外牆",
			"張貼廣告-路燈桿", "張貼廣告-交通標誌桿、號誌桿及設備", "張貼廣告-行道樹、綠地、公園、圓環、廣場、兒童遊樂場",
			"張貼廣告-天橋、地下道、安全島、槽化島", "張貼廣告-捷運車站週邊及其沿線",
			"張貼廣告-住宅社區及其建物(不含標售或地主分回之建物)", "公車站牌、站位區、候車亭廣告",
			"張貼廣告-計程車招呼站及停車場相關標誌", "遊動廣告-車、船或航空器等交通工具上(路邊非違規路段)",
			"遊動廣告-車、船或航空器等交通工具上(收費停車格位)", "招牌廣告-建築物牆面上", "招牌廣告-捷運車站週邊及沿線",
			"招牌廣告-住宅社區及其建築物", "樹立廣告-建築物屋頂、建築物基地內", "樹立廣告-路外停車場",
			"樹立廣告-行道樹、綠地、公園、圓環、廣場、兒童遊樂場", "樹立廣告-天橋、地下道、安全島、槽化島",
			"樹立廣告-紅磚人行道或八公尺以上道路", "公用停車格位畫線模糊不清之補繪", "一般停車格位畫線模糊不清之補繪",
			"聯營公車站牌之損壞修復", "人行道上禁止停車標誌損壞修復", "交通號誌(紅綠燈)不亮申報修復",
			"交通號誌燈（桿）故障設施修復", "交通號誌控制器、電信及電源箱故障設施修復", "交通標誌（桿）故障設施修復",
			"安全設施（貓眼、反射鏡、減速墊等）修復", "交通標線模糊不清之補繪-禁停紅黃線", "交通標線模糊不清之補繪-白線",
			"交通標線模糊不清之補繪-黃線", "捷運工地施工期間交通號誌燈(桿)之維護", "交通號誌廢棄設施之移除",
			"巷弄名牌及非號誌化路口名牌之維護", "附掛於交通號誌之反光街路名牌維護", "門牌掉落或損壞", "號誌化路口名牌之漢語拼音",
			"巷弄名牌及非號誌化路口名牌之漢語拼音", "附掛於燈桿上私設置巷弄指示牌之移除", "路燈之損壞修復",
			"自來水設施(路面漏水、水管)消防栓箱、制水閥箱之損壞修復", "電力設施(電線、桿、人手孔之損壞修復)",
			"鄰里公園太陽能燈損壞修復", "傾斜電線桿扶正", "人手孔破損處理", "路面人手孔蓋調整(台灣電力公司)",
			"路面人手孔蓋調整(交工處)", "路面人手孔蓋調整(中華電信)", "雨水下水道人手孔蓋調整", "衛生下水道人手孔蓋調整",
			"電信設施(公用電話亭、線路、人手孔)損壞修復", "瓦斯線之損壞修復", "消防指示牌損壞修復", "地下式消防栓黃漆補刷",
			"巷道內路霸占用停車格位通報事項(新增)", "巷道內路霸占用停車格位通報事項(死灰復燃)", "無開窗貨櫃屋佔用道路通報事項",
			"城市花園綠化點巡查事項", "街道巷弄綠美化綠化點巡查事項", "警政監視系統之纜線散落地面或任意附掛影響市容",
			"古蹟指示牌及指示地磚損壞修復", "WIFLY AP於路燈/交通號誌桿附掛管路破損",
			"WIFLY AP於路燈/交通號誌周邊道路路面損壞",
			"因配合工程臨時遷移路燈/交通號誌所附掛WIFLY AP，其設置架空纜線影響市容", "公共藝術品損壞修復",
			"公共藝術品週遭環境清潔維護及稽查", "有線電視線路散落地面(含任意附掛)", "有線電視線路散落道路側溝、雨水下水道",
			"有證違規攤販之處理", "無照攤販之取締(妨礙交通)", "各項污染(水、空氣、冷氣機滴水造成之環境污染)",
			"佔用路面、人行道固定物之拆除", "佔用路面、人行道或騎樓等非固定物之通報事項",
			"捷運營運路線路權範圍內（含線形公園）相關公共設施之維護",
			"出租國宅範圍內開放空間（如中庭地磚及景觀樹木、人行步道、排水溝（蓋））損壞修復等事項" };

	final static String type1str[] = { "", "道路、水溝、下水道、橋梁、河川、堤 防等公共設施之損壞事項",
			"公園、綠地、廣場及行道樹等之維護、修剪及扶正事項", "廢棄物、廢土、水溝、下水道、公廁等之清理維護事項",
			"違規廣告物查報事項", "競選廣告物之改善、移除事項", "交通號(標)誌、標線之修復及移除廢棄交通號誌事項",
			"門牌、街道巷弄名牌之維護事項", "路燈、水電、電信、瓦斯設施之損壞修復事項", "路霸檢舉通報事項",
			"本市綠美化地點巡查通報事項(專案)", "其他有礙市容觀瞻及妨害公共安全事項" };

	final static int type1v[][] = { {}, { 11, 12, 13 }, { 21, 22 },
			{ 31, 32, 33 }, { 41 }, { 42, 43, 44 }, { 51, 52 }, { 53 },
			{ 54, 55 }, { 61 }, { 62 }, { 63, 64 } };

	static HashMap<String, String> map = new HashMap<String, String>();

	public static void main(String args[]) {
		for (int i = 0; i < type1v.length; i++) {
			System.out.println(type1str[i] + " ");
			for (int j = 0; j < type1v[i].length; j++) {
				System.out.print(type1v[i][j] + " ");
			}
			System.out.println("");
		}

		System.out.println(Id2Type1("1101"));
		System.out.println(Id2Type1("6401"));

	}

	public static void init() {

	}

	public static String Id2Type2(String str) {
		for (int i = 0; i < typeid.length; i++) {
			if (typeid[i].equals(str))
				return type2str[i];
		}
		return "0";
	}

	public static String Type22Id(String str) {
		for (int i = 0; i < type2str.length; i++) {
			if (type2str[i].equals(str))
				return typeid[i];
		}
		return "0";
	}

	public static String Id2Type1(String str) {
		int d = Integer.parseInt(str);
		d /= 100;
		for (int i = 0; i < type1v.length; i++) {
			for (int j = 0; j < type1v[i].length; j++) {
				if (type1v[i][j] == d) {
					return type1str[i];
				}
			}
		}
		return null;
	}
	
	public static String typeid2unit(String type){
		for(int i=0;i<typeid.length;i++)
			if(typeid[i].equals(type)==true)
				return unitid[i];
		return unitid[0];
	}
	
	// final static int

}
